package org.jeecg.modules.basic.demo.student.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.basic.demo.bed.entity.LwgyBaseBed;
import org.jeecg.modules.basic.demo.school.entity.LwgyBaseSchool;
import org.jeecg.modules.basic.demo.student.entity.LwgyBaseStudent;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * @Description: lwgy_base_student
 * @Author: jeecg-boot
 * @Date:   2020-12-11
 * @Version: V1.0
 */
public interface ILwgyBaseStudentService extends IService<LwgyBaseStudent> {
    IPage<LwgyBaseStudent> queryStudentByCode(Page<LwgyBaseStudent> page,LwgyBaseSchool lwgyBaseSchool,String studentSex,String studentNumber);
    IPage<LwgyBaseStudent> queryPageListStudent(Page<LwgyBaseStudent> page, QueryWrapper<LwgyBaseStudent> queryWrapper);
    IPage<LwgyBaseStudent> queryStuByNum(Page<LwgyBaseStudent> page,QueryWrapper<LwgyBaseStudent> queryWrapper);

    IPage<LwgyBaseStudent> queryPageLeaveStudent(Page<LwgyBaseStudent> page, QueryWrapper<LwgyBaseStudent> queryWrapper,String studentState);

    IPage<LwgyBaseStudent> queryPageCustomer(Page<LwgyBaseStudent> page, QueryWrapper<LwgyBaseStudent> queryWrapper);
    List<Map<String, String>> listByPid(String pid);
    List<Map<String, String>> listByPid2(String pid);
    List<Map<String, String>> listByName(String name);
    String getStuIdByNumber(String studentNumber);
    List<Map<String, String>> getStuInfoById(String id);

    List<String> getClassIdBySysUser(LoginUser sysUser);

    List<LwgyBaseStudent> getNotAccountStuList();

    List<LwgyBaseStudent> getStudentInfo();

    List<LwgyBaseStudent> exportXlsStu(LwgyBaseStudent lwgyStudent);

    List<String> getAllSysUser();

   // Integer generateStuAccount();

    List<LwgyBaseStudent> getStuListByStuNumber(String[] split);

    List<LwgyBaseStudent> getListByJob(QueryWrapper<LwgyBaseStudent> queryWrapper);
}
